/*******************************************************
> Copyright (C) 2024 ==IOT== All rights reserved.
> File Name: enroll.h
> Author: sy
> Website:www.sy.org
> Created Time: 2024年09月20日 星期五 15时53分39秒
***************************************************/
// 管理员登录注册模块

#ifndef __ENROLL_H_
#define __ENROLL_H_

// 管理员结构体
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include "cJSON.h"

#define MAX_ID_SIZE 10
#define MAX_NAME_SIZE 10
#define MAX_PASSWORD_SIZE 10
#define PHONE_NUMBER_LENGTH 11
#define PORT 6868
#define IP "192.168.0.148"
struct manager
{
    char type[MAX_ID_SIZE];
    char directives[MAX_ID_SIZE];
    char id[MAX_ID_SIZE];
    char password[MAX_PASSWORD_SIZE];
    char name[MAX_NAME_SIZE];
    long long number; // 使用更大的类型以防止溢出
    char new_password[MAX_PASSWORD_SIZE];
};


char *sendto_and_receive(const char *buf, int sockfd);// tcp通信函数
void Register();// 注册
char *input_cJSON_reg(struct manager man);// 注册组包
void output_cJSON_reg(const char *dest);// 注册解包



/*
char input_cJSON_login(struct manager man); // 登录组包
void output_cJSON_login(char *dest);        // 登录解包

char input_cJSON_passwd(struct manager man); // 修改密码组包
void output_cJSON_passwd(char *dest);        // 修改密码解包

char input_cJSON_query(struct manager man); // 查询组包
void output_cJSON_query(char *dest);        // 查询解包

char input_cJSON_alarm(struct manager man); // 报警处理组包
void output_cJSON_alarm(char *dest);        // 报警处理解包

char input_cJSON_modify_device(struct manager man); // 修改设备信息组包
void output_cJSON_modify_device(char *dest);        // 修改设备信息解包

char input_cJSON_modify_staff(struct manager man); // 修改员工信息组包
void output_cJSON_modify_staff(char *dest);        // 修改员工信息解包

char input_cJSON_quit(struct manager man); // 退出程序组包
void output_cJSON_quit(char *dest);        // 退出程序解包

void ChangePassword(); // 修改密码
void Query();          // 查询
void Alarm();          // 报警处理
void ModifyDevice();   // 修改设备信息
void ModifyStaff();    // 修改员工信息
void Quit();           // 退出程序
*/
#endif
